package com.atguigu.yygh.common.exception;

import com.atguigu.yygh.common.result.ResultCodeEnum;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/** 
* 自定义 全局 异常类 
*/
@Data
@ApiModel(value = "自定义全局异常类")
public class YyghException extends RuntimeException {

	@ApiModelProperty(value = "异常状态码")
	private Integer code;
	
	/**
	 * 通过状态码和错误消息 创建异常对象
	 * @param message
	 * @param code
	 */
	public YyghException(String message,Integer code){
		super(message);
		this.code = code;
	}
	
	/**
	 * 接收枚举类型对象
	 * @param resultCodeEnum
	 */
	public YyghException(ResultCodeEnum resultCodeEnum){
		super(resultCodeEnum.getMessage());
		this.code = resultCodeEnum.getCode();
	}

	@Override
	public String toString() {
		return "YyghException {" +
	           "code=" + code + 
	           ",message=" + this.getMessage() +
	           "}";
	}
	
	
}
